home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / Tool Chest / Interfaces / MPW Interfaces / PInterfaces / EPPC.p < prev    next >
Encoding:
Text File  |  1993-09-17  |  3.2 KB  |  129 lines  |  [TEXT/MPS ]

  1. {
  2.     File:        EPPC.p
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. }
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.     UNIT EPPC;
  18.     INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingEPPC}
  22. {$SETC UsingEPPC := 1}
  23.  
  24. {$I+}
  25. {$SETC EPPCIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingPPCToolbox}
  28. {$I $$Shell(PInterfaces)PPCToolbox.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingProcesses}
  31. {$I $$Shell(PInterfaces)Processes.p}
  32. {$ENDC}
  33. {$IFC UNDEFINED UsingEvents}
  34. {$I $$Shell(PInterfaces)Events.p}
  35. {$ENDC}
  36. {$SETC UsingIncludes := EPPCIncludes}
  37.  
  38. CONST
  39. kHighLevelEvent = 23;
  40.  
  41. { postOptions currently supported }
  42. receiverIDMask = $0000F000;
  43. receiverIDisPSN = $00008000;
  44. receiverIDisSignature = $00007000;
  45. receiverIDisSessionID = $00006000;
  46. receiverIDisTargetID = $00005000;
  47.  
  48. systemOptionsMask = $00000F00;
  49. nReturnReceipt = $00000200;
  50.  
  51. priorityMask = $000000FF;
  52. nAttnMsg = $00000001;
  53.  
  54. { error returns from Post and Accept }
  55.  
  56. bufferIsSmall = -607;
  57. noOutstandingHLE = -608;
  58. connectionInvalid = -609;
  59. noUserInteractionAllowed = -610;        { no user interaction allowed }
  60.  
  61. { constant for return receipts }
  62.  
  63. HighLevelEventMsgClass = 'jaym';
  64. rtrnReceiptMsgID = 'rtrn';
  65. msgWasPartiallyAccepted = 2;
  66. msgWasFullyAccepted = 1;
  67. msgWasNotAccepted = 0;
  68.  
  69. TYPE
  70. TargetIDPtr = ^TargetID;
  71. TargetIDHdl = ^TargetIDPtr;
  72. TargetID = RECORD
  73.     sessionID: LONGINT;
  74.     name: PPCPortRec;
  75.     location: LocationNameRec;
  76.     recvrName: PPCPortRec;
  77.     END;
  78.  
  79.  
  80. SenderID = TargetID;
  81. SenderIDPtr = ^SenderID;
  82.  
  83. HighLevelEventMsgPtr = ^HighLevelEventMsg;
  84. HighLevelEventMsgHdl = ^HighLevelEventMsgPtr;
  85. HighLevelEventMsg = RECORD
  86.     HighLevelEventMsgHeaderLength: INTEGER;
  87.     version: INTEGER;
  88.     reserved1: LONGINT;
  89.     theMsgEvent: EventRecord;
  90.     userRefcon: LONGINT;
  91.     postingOptions: LONGINT;
  92.     msgLength: LONGINT;
  93.     END;
  94.  
  95.  
  96. FUNCTION PostHighLevelEvent(theEvent: EventRecord;
  97.                             receiverID: Ptr;
  98.                             msgRefcon: LONGINT;
  99.                             msgBuff: Ptr;
  100.                             msgLen: LONGINT;
  101.                             postingOptions: LONGINT): OSErr;
  102.     INLINE $3F3C,$0034,$A88F;
  103. FUNCTION AcceptHighLevelEvent(VAR sender: TargetID;
  104.                               VAR msgRefcon: LONGINT;
  105.                               msgBuff: Ptr;
  106.                               VAR msgLen: LONGINT): OSErr;
  107.     INLINE $3F3C,$0033,$A88F;
  108. FUNCTION GetProcessSerialNumberFromPortName(portName: PPCPortRec;VAR PSN: ProcessSerialNumber): OSErr;
  109.     INLINE $3F3C,$0035,$A88F;
  110. FUNCTION GetPortNameFromProcessSerialNumber(VAR portName: PPCPortRec;PSN: ProcessSerialNumber): OSErr;
  111.     INLINE $3F3C,$0046,$A88F;
  112.  
  113. TYPE
  114. GetSpecificFilterProcPtr = ProcPtr;     { FUNCTION MyFilter(yourDataPtr: Ptr;                }
  115.                                         {                    msgBuff: HighLevelEventMsgPtr;    }
  116.                                         {                    sender: TargetID): Boolean;        }
  117.  
  118. FUNCTION GetSpecificHighLevelEvent(aFilter: GetSpecificFilterProcPtr;yourDataPtr: UNIV Ptr;
  119.     VAR err: OSErr): BOOLEAN;
  120.     INLINE $3F3C,$0045,$A88F;
  121.  
  122.  
  123. {$ENDC}    { UsingEPPC }
  124.  
  125. {$IFC NOT UsingIncludes}
  126.     END.
  127. {$ENDC}
  128.  
  129.